package com.pn.service;

import com.pn.entity.Result;
import com.pn.entity.Store;
import com.pn.entity.vo.StoreCountVo;
import com.pn.page.Page;

import java.util.List;

public interface StoreService {

    /**
     * 查询所有仓库
     *
     * @return 所有仓库集合
     */
    List<Store> queryAllStore();

    /**
     * 查询各个仓库商品库存
     *
     * @return 仓库集合
     */
    List<StoreCountVo> queryStoreCount();

    /**
     * 分页条件查询仓库
     *
     * @param page  分页对象
     * @param store 查询条件参数
     * @return 封装了总条数和仓库数据的Page对象
     */
    Page queryStorePage(Page page, Store store);

    /**
     * 添加仓库
     *
     * @param store 仓库实体类
     * @return 影响行数
     */
    Result saveStore(Store store);

    /**
     * 修改仓库
     *
     * @param store 仓库信息
     * @return 响应结果
     */
    Result setStoreById(Store store);

    /**
     * 删除仓库
     *
     * @param storeId 仓库id
     * @return 响应结果
     */
    Result removeStore(Integer storeId);

    /**
     * 判断仓库编号是否唯一
     *
     * @param storeNum 仓库对象
     * @return 响应结果
     */
    Result checkStoreNum(String storeNum);
}
